React base
Table of Contents
JSX
- JSX 是返回 HTML 标签的函数
- JSX 组件函数只能返回单个组件
- 组件函数开头大写
import React from "react";
function Component() {
return (
<div>
<p>JSX Component</p>
</div>
);
}
Props
JSX 参数
<Component arg1="" arg2=""><Component>
在标签内部可自定义参数<Component><p>parma</p><Component>
标签包含的内容固定为children
// 所有参数都存放在 props 中
function Child(props) {
return (
<div>
<p>{props.messages}</p>
{props.children}
</div>
);
}
function Parent() {
const messages = "parent message";
return (
<Child messages={messages}>
<p>parent html</p>
</Child>
);
}
// 使用解构参数
function Card({ name, value }: { name: string, value: number }) {
return (
<div>
<p>name: {name}</p>
<p>value: {value}</p>
</div>
);
}
function Page() {
return (
<div>
<Card name="card1" value={1} />
<Card name="card2" value={2} />
<Card name="card3" value={3} />
</div>
);
}
数据持久化
// localStorage 设置数据(仅能保存字符串)
localStorage.setItem("key", "value");
let students = [
{ id: 1, name: "John" },
{ id: 2, name: "Jane" },
];
localStorage.setItem("students", JSON.stringify(students));
// localStorage 获取数据(若字段不存在返回 null)
let value = localStorage.getItem("key");
value = value ? JSON.parse(value) : "key is null";